Плохо! Плохо!:  0
Показано с 1 по 8 из 8

Тема: [MV] Окончания слов в тексте

  1. #1
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию [MV] Окончания слов в тексте

    Окончания слов в тексте
    Автор: dirge
    Описание: Плагин предназначен для замены окончаний в тексте через команду "показать текст", в зависимости от пола персонажа, чтобы избежать бесконечных ветвлений в ивентах.
    Подробная инструкция по использованию находится в хелпе плагина.

    Пока только для команды "показать текст", может позже будет и для команды выбора.

    Установка стандартная, как и у всех остальных плагинов. Название файла плагина неважно.
    Спойлер плагин:
    Код:
    //=============================================================================
    // TextEndings
    //=============================================================================
    
    var Imported = Imported || {};
    Imported.de_TextEndings = true;
    
    /*:
     * @plugindesc v1.0 Позволяет устанавливать окончания для слов.
     * <de_TextEndings>
     * @author dirge
     *
     * @param Количество возможных полов персонажа
     * @desc Запишите количество полов
     * Default: 2
     * @default 2
     *
     * @param Id переменной
     * @desc Запишите id переменной которая будет отвечать за пол персонажа
     * Default: 0
     * @default 0
     *
     * @param Вариант окончания №1
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №2
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №3
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №4
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №5
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №6
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №7
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №8
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №9
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @param Вариант окончания №10
     * @desc Запишите окончания через запятую, но не больше чем доступно полов 
     *
     * @help 
     * --------------------------------------------------------------------------------
     * Версия 1.0
     * --------------------------------------------------------------------------------
     * Плагин позволяет устанавливать окончания словам в текстах через команду 
     * показать текст, в зависимости от пола главного героя.
     * Управлять полом ГГ нужно через переменную, айди которой выставлен
     * в настройках плагина. Значения самой переменной устанавливайте
     * от 0 и до количества возможных полов персонажа -1, из-за 
     * отсчета с 0.
     * Предварительно заполните варианты окончаний. 
     * Заполняются они через запятую, но окончаний не должно быть больше
     * чем количество полов персонажа, которое определяется в настройках.
     * Пример заполнения: -,а
     * Для пустого окончания используйте дефис, он автоматически
     * заменится на пустое место в тексте. В примере,
     * дефис = 0 значению переменной пола персонажа, в свою очередь 
     * 'a' = 1, итого мы определили окончания для двух вероятных полов
     * персонажа.
     * Использование в тексте \gr[n]
     * где n - номер варианта окончания.
     * 
     */
    
    (function() {
    	
    	var parameters = $plugins.filter(function(p) { return p.description.contains('<de_TextEndings>'); })[0].parameters;
    	
    	var paramGenderNumber = Number(parameters['Количество полов'] || 2);
    	var paramVariableId = Number(parameters['Id переменной'] || 0);
    	var paramEndingArray = []
    	
    	for(var i = 1;i <= 10;i++){
    		par = String(parameters['Вариант окончания №'+i]);
    		par = par.replace(/-/g, '')
    		splitArray = par.split(',');
    		paramEndingArray[i] = splitArray
    	}
    
    	Window_Base.prototype.convertTextEnding = function(text) {
    		
    		text = text.replace(/\gr\[(\d+)\]/gi, function() {
    			for(var i = 0;i<paramGenderNumber;i++){
    				if ($gameVariables.value(paramVariableId)==i){
    					return paramEndingArray[parseInt(arguments[1])][i]
    					break
    				}
    			}
    		}.bind(this));
    		
    		return text;
    	};
    
    
    	Window_Base_convertEscapeCharacters_Alias = Window_Base.prototype.convertEscapeCharacters;
    	Window_Base.prototype.convertEscapeCharacters = function(text) {
    		text = Window_Base_convertEscapeCharacters_Alias.call(this, text);
    		text = this.convertTextEnding(text);
    		return text;
    	};
    
    })();

    зеркало на pastebin

    Пока всего 10 вариантов, если кому не хватит, скажите, сделаю больше, ну, это если вообще кто-то будет его использовать)
    Последний раз редактировалось dirge; 30.12.2016 в 21:06.

  2. #2
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,776
    Записей в дневнике
    34
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Вот бы такой скрипт для аси
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  3. #3
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Ну, интереса к Асе у меня уже давно нет, разве что если вдруг желание привалит, так что без меня. Возможно кому-то другому будет идеей и кто-то это сделает.

  4. #4
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,776
    Записей в дневнике
    34
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от dirge Посмотреть сообщение
    Ну, интереса к Асе у меня уже давно нет, разве что если вдруг желание привалит, так что без меня. Возможно кому-то другому будет идеей и кто-то это сделает.
    Какой ты бессердечный)
    Офф-топ: ты будешь переносить свой скрипт книги на мв? Если да, то можешь добавить туда возможность "разблокировки" новых страниц.
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  5. #5
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Paranoid Посмотреть сообщение
    Офф-топ: ты будешь переносить свой скрипт книги на мв? Если да, то можешь добавить туда возможность "разблокировки" новых страниц.
    Думал об этом, но давно, даже написал половину, но так как он мне не нужен в данное время, потому забил. Может как-нибудь я его откопаю, тогда и посмотрим.

  6. #6

    По умолчанию

    Использование в тексте \gr[n]
    где n - номер варианта окончания.
    Так-так. У меня тут вопрос появился. Если верить словам в хелпе то после ввода "\gr[n]" команда меняется на то окончание которое было написано под определённым номером окончания что я написал в плагине. Только вот... у меня почему вместо окончания ставится "Гиль.r[5]". Вопрос: почему? (Поясню: "Гиль." это ВАЛЮТА в моей игре. И мейкер видать думает что я написал команду "\g". Только вот я написал ту команду что было написано в хелпе.) Либо я тупой, либо косяк.

  7. #7
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от MrFredbear Посмотреть сообщение
    Так-так. У меня тут вопрос появился. Если верить словам в хелпе то после ввода "\gr[n]" команда меняется на то окончание которое было написано под определённым номером окончания что я написал в плагине. Только вот... у меня почему вместо окончания ставится "Гиль.r[5]". Вопрос: почему? (Поясню: "Гиль." это ВАЛЮТА в моей игре. И мейкер видать думает что я написал команду "\g". Только вот я написал ту команду что было написано в хелпе.) Либо я тупой, либо косяк.
    Проверил, все работает, скорей всего у тебя какой-то другой плагин жестко переписывает функции. Можешь попробовать поставить мой в менеджере ниже всех, нарушить другой плагин он не должен, т.к. мой не жестко переписывает функции.

  8. #8

    По умолчанию

    На MZ есть подобное, подскажите?

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
[MV] Окончания слов в тексте